#!/bin/bash

# 检查参数是否正确
if [ $# -ne 1 ]; then
    echo "使用方法: $0 <输入文档名称>"
    echo "示例: ./divide.sh input.txt"
    exit 1
fi

input_file="$1"

# 检查输入文件是否存在
if [ ! -f "$input_file" ]; then
    echo "错误: 文件 '$input_file' 不存在!"
    exit 1
fi

# 初始化临时文件
arm64_temp=$(mktemp)
armv7_temp=$(mktemp)

# 处理每一行
while IFS= read -r line; do
    if [[ "$line" == "arm64-v8a "* ]]; then
        # 如果以arm64-v8a开头，去掉前缀和方括号内容
        content="${line#arm64-v8a }"
        # 移除方括号及其内容
        cleaned_content=$(echo "$content" | sed 's/\[[^]]*\]//g')
        # 去除前后空格
        cleaned_content=$(echo "$cleaned_content" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
        # 写入临时文件（如果内容不为空）
        if [ -n "$cleaned_content" ]; then
            echo "$cleaned_content" >> "$arm64_temp"
        fi
    elif [[ "$line" == "armeabi-v7a "* ]]; then
        # 如果以armeabi-v7a开头，去掉前缀和方括号内容
        content="${line#armeabi-v7a }"
        # 移除方括号及其内容
        cleaned_content=$(echo "$content" | sed 's/\[[^]]*\]//g')
        # 去除前后空格
        cleaned_content=$(echo "$cleaned_content" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
        # 写入临时文件（如果内容不为空）
        if [ -n "$cleaned_content" ]; then
            echo "$cleaned_content" >> "$armv7_temp"
        fi
    else
        # 如果既不是arm64-v8a也不是armeabi-v7a开头，显示警告但继续处理
        echo "警告: 无法识别的行格式: $line" >&2
    fi
done < "$input_file"

# 去重并保存到最终文件
sort -u "$arm64_temp" > arm64-v8a.txt
sort -u "$armv7_temp" > armeabi-v7a.txt

# 删除临时文件
rm -f "$arm64_temp" "$armv7_temp"

echo "处理完成!"
echo "arm64-v8a内容（不含前缀和方括号，已去重）已保存到: arm64-v8a.txt"
echo "armeabi-v7a内容（不含前缀和方括号，已去重）已保存到: armeabi-v7a.txt"

# 显示处理结果统计
arm64_count=$(wc -l < arm64-v8a.txt 2>/dev/null || echo 0)
armv7_count=$(wc -l < armeabi-v7a.txt 2>/dev/null || echo 0)
echo "arm64-v8a.txt 行数: $arm64_count"
echo "armeabi-v7a.txt 行数: $armv7_count"